package com.netease.nie.dto;

import java.util.HashMap;
import java.util.Map;

import com.netease.nie.base.utils.JsonUtils;

/**
 * 
 * @author wwbn3695
 * @createDate July 15th,2016
 * 
 */
public class ExchangeGoodsConfigDto {

	private Integer id;
	
	/**
	 * 抽象商品id
	 */
	private Integer goodsId;

	private Integer categoryId;

	private String title;
	
	private String subTitle;
	/**
	 * 兑换类型
	 */
	private Integer goodsType;

	/**
	 * 兑换对象id
	 */
	private Integer exchangeObjectId;

	/**
	 * 积分
	 */
	private Integer price;
	
	private Integer putOnStatus;

	/**
	 * 固定日期到期时间
	 */
	private Integer fixedValidDate;

	/**
	 * 兑换后N天过期时间
	 */
	private Integer changeableValidDate;

	/**
	 * 上架时间类型
	 */
	private Integer putOnTimeType;

	/**
	 * 上架时间
	 */
	private Long putOnTime;

	/**
	 * 下架时间
	 */
	private Long putOffTime;

	/**
	 * 每天兑换额度
	 */
	private Integer eachDayExchangeLimit;

	/**
	 * 每天额度刷新时间
	 */
	private Integer eachDayExchangeLimitRefreshTime;

	/**
	 * 每人兑换额度
	 */
	private Integer eachOneExchangeLimit;

	public Integer getId() {
		return id;
	}

	public void setId(Integer id) {
		this.id = id;
	}
	
	public Integer getGoodsId() {
		return goodsId;
	}

	public void setGoodsId(Integer goodsId) {
		this.goodsId = goodsId;
	}
	
	public Integer getCategoryId() {
		return categoryId;
	}

	public void setCategoryId(Integer categoryId) {
		this.categoryId = categoryId;
	}

	public String getTitle() {
		return title;
	}

	public void setTitle(String title) {
		this.title = title;
	}

	public String getSubTitle() {
		return subTitle;
	}

	public void setSubTitle(String subTitle) {
		this.subTitle = subTitle;
	}
	
	public Integer getGoodsType() {
		return goodsType;
	}

	public void setGoodsType(Integer goodsType) {
		this.goodsType = goodsType;
	}

	public Integer getExchangeObjectId() {
		return exchangeObjectId;
	}

	public void setExchangeObjectId(Integer exchangeObjectId) {
		this.exchangeObjectId = exchangeObjectId;
	}

	public Integer getPrice() {
		return price;
	}

	public void setPrice(Integer price) {
		this.price = price;
	}

	public Integer getFixedValidDate() {
		return fixedValidDate;
	}

	public void setFixedValidDate(Integer fixedValidDate) {
		this.fixedValidDate = fixedValidDate;
	}

	public Integer getChangeableValidDate() {
		return changeableValidDate;
	}

	public void setChangeableValidDate(Integer changeableValidDate) {
		this.changeableValidDate = changeableValidDate;
	}

	public Integer getPutOnTimeType() {
		return putOnTimeType;
	}

	public void setPutOnTimeType(Integer putOnTimeType) {
		this.putOnTimeType = putOnTimeType;
	}

	public Long getPutOnTime() {
		return putOnTime;
	}

	public void setPutOnTime(Long putOnTime) {
		this.putOnTime = putOnTime;
	}

	public Long getPutOffTime() {
		return putOffTime;
	}

	public void setPutOffTime(Long putOffTime) {
		this.putOffTime = putOffTime;
	}

	public Integer getEachDayExchangeLimit() {
		return eachDayExchangeLimit;
	}

	public void setEachDayExchangeLimit(Integer eachDayExchangeLimit) {
		this.eachDayExchangeLimit = eachDayExchangeLimit;
	}

	public Integer getEachDayExchangeLimitRefreshTime() {
		return eachDayExchangeLimitRefreshTime;
	}

	public void setEachDayExchangeLimitRefreshTime(
			Integer eachDayExchangeLimitRefreshTime) {
		this.eachDayExchangeLimitRefreshTime = eachDayExchangeLimitRefreshTime;
	}

	public Integer getEachOneExchangeLimit() {
		return eachOneExchangeLimit;
	}

	public void setEachOneExchangeLimit(Integer eachOneExchangeLimit) {
		this.eachOneExchangeLimit = eachOneExchangeLimit;
	}

	public Integer getPutOnStatus() {
		return putOnStatus;
	}

	public void setPutOnStatus(Integer putOnStatus) {
		this.putOnStatus = putOnStatus;
	}

	@Override
	public String toString() {
		Map<String, Object> jsonMap = new HashMap<>();
		jsonMap.put("id", id);
		jsonMap.put("categoryId", categoryId);
		jsonMap.put("title", title);
		jsonMap.put("goodsType", goodsType);
		jsonMap.put("exchangeObjectId", exchangeObjectId);
		jsonMap.put("price", price);
		jsonMap.put("fixedValidDate", fixedValidDate);
		jsonMap.put("changeableValidDate", changeableValidDate);
		jsonMap.put("putOnTimeType", putOnTimeType);
		jsonMap.put("putOnTime", putOnTime);
		jsonMap.put("putOffTime", putOffTime);
		jsonMap.put("eachDayExchangeLimit", eachDayExchangeLimit);
		jsonMap.put("eachDayExchangeLimitRefreshTime", eachDayExchangeLimitRefreshTime);
		jsonMap.put("eachOneExchangeLimit", eachOneExchangeLimit);
		jsonMap.put("putOnStatus", putOnStatus);
		return JsonUtils.obj2String(jsonMap);
	}
	
	
}
